package com.tanhua.common.utils;

import com.tanhua.common.pojo.User;

/**
 * 当前用户的线程存储对象
 */
public class UserThreadLocal {


private  static  final ThreadLocal<User>  LOCAL = new InheritableThreadLocal<>();
    //构造方法私有化 - 防止其他对象创建该类的对象
    private UserThreadLocal(){}

    /**
     * 将对象放入到ThreadLocal中
     * @param user
     */
    public static void set(User user){
        LOCAL.set(user);
    }

    /**
     * 返回当前线程中的User对象
     * @return
     */
    public static User get(){
        return LOCAL.get();
    }

    /**
     * 删除当前线程中的User对象
     */
    public static void remove(){
        LOCAL.remove();
    }

}
